package Negocio;
import java.sql.Date;

import DTO.DTO_Movimiento;
import Entities.Entity_Movimiento;

public class Movimiento {
	
	private Encargado encargado;
	private int idMovimiento;
	private Date fecha;
	private String motivo;
	private PedidoInsumo pedidosInsumo;
	
	//Constructores
	public Movimiento(Encargado encargado, int idMovimiento, Date fecha,
			String motivo, PedidoInsumo pedidosInsumo) {
		super();
		this.encargado = encargado;
		this.idMovimiento = idMovimiento;
		this.fecha = fecha;
		this.motivo = motivo;
		this.pedidosInsumo = pedidosInsumo;
	}
	
	public Movimiento() {
	}

	public Movimiento (DTO_Movimiento movimiento){
		this.encargado = new Encargado(movimiento.getEncargado());
		this.fecha = movimiento.getFecha();
		this.motivo = movimiento.getMotivo();
		this.pedidosInsumo = new PedidoInsumo (movimiento.getPedidosInsumo());
	}
	
	
	public Movimiento(Entity_Movimiento movimiento) {
		this.encargado = new Encargado(movimiento.getEmpleado());
		this.fecha = movimiento.getFecha();
		this.motivo = movimiento.getMotivo();
		this.pedidosInsumo = new PedidoInsumo (movimiento.getPedidosInsumo());
	}

	public Encargado getEncargado() {
		return encargado;
	}

	public void setEncargado(Encargado encargado) {
		this.encargado = encargado;
	}

	public int getIdMovimiento() {
		return idMovimiento;
	}

	public void setIdMovimiento(int idMovimiento) {
		this.idMovimiento = idMovimiento;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public String getMotivo() {
		return motivo;
	}

	public void setMotivo(String motivo) {
		this.motivo = motivo;
	}

	public PedidoInsumo getPedidosInsumo() {
		return pedidosInsumo;
	}

	public void setPedidosInsumo(PedidoInsumo pedidosInsumo) {
		this.pedidosInsumo = pedidosInsumo;
	}
	
	public DTO_Movimiento toDTO(){
		DTO_Movimiento mo = new DTO_Movimiento();
		mo.setEncargado(encargado.toDTO());
		mo.setFecha(fecha);
		mo.setIdMovimiento(idMovimiento);
		mo.setMotivo(motivo);
		mo.setPedidosInsumo(pedidosInsumo.toDTO());
		return mo;		
	}
	


	public Entity_Movimiento toEntity() {
		Entity_Movimiento mo = new Entity_Movimiento();
		mo.setEmpleado(encargado.toEntity());
		mo.setFecha(fecha);
		mo.setIdMovimiento(idMovimiento);
		mo.setMotivo(motivo);
		mo.setPedidosInsumo(pedidosInsumo.toEntity());
		return mo;		
	}
	
}
